Skip to content

ynoproject/ynoengine

Repository files navigation

EasyRPG Player online fork

Adds multiplayer functionality.

Builds for the emscripten target only.

Server: https://github.com/ynoproject/ynoserver

Documentation

Documentation is available at the documentation wiki: https://wiki.easyrpg.org

Requirements

minimal / required

  • liblcf for RPG Maker data reading.
  • SDL2 >= 2.0.5 for screen backend support.
  • Pixman for low level pixel manipulation.
  • libpng for PNG image support.
  • zlib for XYZ image and ZIP archive support.
  • fmtlib >= 6 for text formatting/coloring and interal logging.

extended / recommended

  • FreeType2 for external font support (+ HarfBuzz for Unicode text shaping).
  • mpg123 for MP3 audio support.
  • WildMIDI for MIDI audio support using GUS patches.
  • FluidSynth for MIDI audio support using soundfonts.
  • Libvorbis / Tremor for Ogg Vorbis audio support.
  • opusfile for Opus audio support.
  • libsndfile for better WAVE audio support.
  • libxmp for tracker music support.
  • SpeexDSP or libsamplerate for proper audio resampling.
  • lhasa for LHA (.lzh) archive support.

The older SDL version 1.2 is still supported, but deprecated. Please do not add new platform code for this library.

Daily builds

Up to date binaries for assorted platforms are available at our continuous integration service:

https://ci.easyrpg.org/view/Player/

Source code

EasyRPG Player development is hosted by GitHub, project files are available in this git repository:

https://github.com/EasyRPG/Player

Released versions are also available at our Download Archive:

https://easyrpg.org/downloads/player/

Building

Follow these steps:

  1. Download required tools and dependencies for ynoclient.

    • cmake 3.10 or higher
    • meson & ninja (You'll need python3-pip package to install meson build system)
    • automake
    • autoconf
    • libtool
    • m4
  2. Set up emscripten toolchain

cd
mkdir workdir
cd workdir
git clone https://github.com/EasyRPG/buildscripts
cd buildscripts
cd emscripten
./0_build_everything.sh
cd emsdk-portable
source ./emsdk_env.sh
  1. Build liblcf
cd ~/workdir
git clone https://github.com/EasyRPG/liblcf
cd liblcf
export EM_PKG_CONFIG_PATH=$HOME/workdir/buildscripts/emscripten/lib/pkgconfig
autoreconf -fi
emconfigure ./configure --prefix=$HOME/workdir/buildscripts/emscripten --disable-shared
make install
  1. Build ynoclient
cd ~/workdir
git clone https://github.com/ynoproject/ynoclient
cd ynoclient
./cmake_build.sh
cd build
ninja

The files you want are build/index.wasm and build/index.js

Source files of interest

Check the initial commit.

Credits

EasyRPG developers - EasyRPG Player (https://github.com/EasyRPG/Player)
twig33 - Original concept and implementation
maru - Project owner and lead developer
Flashfyre - Developer
aleck099 - Developer

https://github.com/CataractJustice/ynoclient - References for tint, flash, and sound sync used for writing parts of our implementation

License

EasyRPG Player is free software available under the GPLv3 license. See the file COPYING for license conditions. For Author information see AUTHORS document.

EasyRPG Logo and Logo2 are licensed under the CC-BY-SA 4.0 license.

3rd party software

EasyRPG Player makes use of the following 3rd party software:

  • FMMidi YM2608 FM synthesizer emulator - Copyright (c) 2003-2006 yuno (Yoshio Uno), provided under the (3-clause) BSD license
  • dr_wav WAV audio loader and writer - Copyright (c) David Reid, provided under public domain or MIT-0
  • PicoJSON JSON parser/serializer - Copyright (c) 2009-2010 Cybozu Labs, Inc. Copyright (c) 2011-2015 Kazuho Oku, provided under the (2-clause) BSD license

3rd party resources

  • Baekmuk font family (Korean) - Copyright (c) 1986-2002 Kim Jeong-Hwan, provided under the Baekmuk License
  • Shinonome font family (Japanese) - Copyright (c) 1999-2000 Yasuyuki Furukawa and contributors, provided under public domain. Glyphs were added and modified for use in EasyRPG Player, all changes under public domain.
  • ttyp0 font family - Copyright (c) 2012-2015 Uwe Waldmann, provided under ttyp0 license
  • WenQuanYi font family (CJK) - Copyright (c) 2004-2010 WenQuanYi Project Contributors provided under the GPLv2 or later with Font Exception
  • Teenyicons Tiny minimal 1px icons - Copyright (c) 2020 Anja van Staden, provided under the MIT license (only used by the Emscripten web shell)